package com.peakmain.wanandroid.netmodule.net.http.callback;


import com.peakmain.wanandroid.netmodule.net.http.convert.Convert;

import okhttp3.Call;

/**
 * author ：Peakmain
 * version : 1.0
 * createTime：2020/2/22
 * mail:2726449200@qq.com
 * describe：
 */
public interface Callback<T> extends Convert<T> {

    /**
     * 请求网络开始前，UI线程
     */
    void onStart(int id);
    /**
     * 对返回数据进行操作的回调， UI线程
     */
    void onSuccess(T response);

    /**
     * 请求失败，响应错误，数据解析错误等，都会回调该方法， UI线程
     */
    void onError(Call call, Exception e);

    /**
     * 请求网络结束后，UI线程
     */
    void onFinish(int id);

    /**
     * 上传文件进度
     * @param progress
     */
    void onProgress(int progress);
}